// pages/course/zxkc/zhsh/zhsh.js
let app = getApp();//引入全局文件
Page({

  /**
   * 页面的初始数据
   */
  data: {
    index:0,
    url:'',
    pageNum:1,
    pageSize:10,
    courses:[],
    pages:0,
    isLoading: false, // 节流阀，false没有正在加载的数据，可以加载；true不可加载
    mainOptions: [
      { key: 'default', label: '综合排序', active: true },
      { key: 'popularity', label: '人气', active: false },
      { key: 'rating', label: '好评率', active: false }
    ],
    priceExpanded: false,
    priceRangeExpanded: false,
    priceSortType: 'asc', // 'asc' 或 'desc'
    priceRanges: [
      { value: 'free', label: '免费', active: true },
      { value: '0-50', label: '¥50以下', active: false },
      { value: '50-100', label: '¥50-100', active: false },
      { value: '100-500', label: '¥100-500', active: false },
      { value: '500-1000', label: '¥500-1000', active: false },
      { value: '1000+', label: '¥1000以上', active: false }
    ]


  },
  changeIndex(e){
    this.setData({
      // 动态获取从data-index获取的参数
      index:e.currentTarget.dataset.index
    })
  },
  goToKcxq(e){
    const kcxqId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/course/zxkc/kcxq/kcxq?id=${kcxqId}`,
    })
  },
  // 点击顶部排序项（综合、人气、好评率）
  onMainOptionTap(e) {
    const key = e.currentTarget.dataset.key;
    let mainOptions = this.data.mainOptions.map(item =>
      item.key === key ? { ...item, active: true } : { ...item, active: false }
    );
    this.setData({ mainOptions });
    // TODO: 触发对应排序逻辑
    this.setData({
      priceRangeExpanded: false, // 关闭价格区间
      priceExpanded: false // 关闭价格排序
    })
  },

  // 点击“价格”
  onPriceTap() {
    this.setData({
      priceExpanded: !this.data.priceExpanded,
      priceRangeExpanded: false // 关闭价格区间
    });
  },

  // 点击“价格区间”
  onPriceRangeTap() {
    this.setData({
      priceRangeExpanded: !this.data.priceRangeExpanded,
      priceExpanded: false // 关闭价格排序
    });
  },

  // 点击价格升序/降序 → 直接触发，无需确定按钮
  onPriceSortSelected(e) {
    const type = e.currentTarget.dataset.type;
    this.setData({ priceSortType: type });
    this.onPriceSortConfirmed(type); // 直接调用处理函数
  },

  onPriceSortConfirmed(type) {
    console.log('价格排序选中:', type);
    // TODO: 执行价格排序逻辑，比如调用接口或本地排序
  },

  // 点击价格区间选项 → 直接触发
  onPriceRangeSelected(e) {
    const value = e.currentTarget.dataset.value;
    let priceRanges = this.data.priceRanges.map(item =>
      item.value === value ? { ...item, active: true } : { ...item, active: false }
    );
    this.setData({ priceRanges });
    this.onPriceRangeConfirmed(value); // 直接调用处理函数
  },

  onPriceRangeConfirmed(value) {
    console.log('价格区间选中:', value);
    // TODO: 执行价格区间筛选逻辑
  },

  // 可选的确定按钮逻辑（如果保留）
  onPriceConfirm() {
    this.onPriceSortConfirmed(this.data.priceSortType);
  },

  onPriceRangeConfirm() {
    // 获取当前选中的价格区间
    const active = this.data.priceRanges.find(item => item.active);
    if (active) {
      this.onPriceRangeConfirmed(active.value);
    }
  },
  getCourse(){
    //加载提示
    wx.showLoading({
      title: '正在加载中',
    })
    // 开启加载状态
    this.setData({
      isLoading: true
  })
    wx.request({
      url: this.data.url+'controller/page',
      method:'GET',
      data:{
        pageNum:this.data.pageNum,
        pageSize:this.data.pageSize
      },
      success:resp=>{
        this.setData({
          courses:[...this.data.courses,...resp.data.data.list],
          pages:resp.data.data.pages
        })
      },
      complete:()=>{
        // 关闭加载状态
        this.setData({
          isLoading: false
      })
        //取消加载提示
        wx.hideLoading()
        //停止下拉刷新
        wx.stopPullDownRefresh()
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      url:app.globalData.url//把全局的url赋值给当前页面中的url
    }),
    this.getCourse();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      pageNum:1,
      pageSize:10,
      courses:[],
      pages:0
    }),
    this.getCourse();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 如果节流阀启动，则不可以加载下一页
    if (this.data.isLoading) {
      return;
    }
    this.setData({
      pageNum:this.data.pageNum+1
    })
    if(this.data.pageNum>this.data.pages){
      wx.showToast({
        title: '已经到底了~',
        icon:'success'
      })
      return;
    }
    this.getCourse();
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})